#pragma once

#ifndef _Job_h_
#define _Job_h_

#include "Status.h"

typedef struct tagJobInfo {
	CString Name;
	int	Code;
	CString TypeName;
	int TypeCode;
	// fieldImage
	// combatImage
	stBasicStatus Status;
	int MovePoint;
	int HitRate;
	int AvoidRate;
	int CriticalRate;
	int CriticalAvoidRate;
	stBasicStatus Growth;
}stJobInfomation;

class Job
{
public:
	Job(void);
	Job(const stJobInfomation & jobInfo) {
		this->m_sJobInfo = jobInfo;
	}

	Job(const int & jobCode) {
		this->m_sJobInfo.Code = jobCode;
	}

	~Job(void);

public:
	stJobInfomation m_sJobInfo;

	bool operator ==(const Job & Other) const {
		return (this->m_sJobInfo.Code == Other.m_sJobInfo.Code); 
	}

	bool operator < (const Job & Other) const {
		return (this->m_sJobInfo.Code < Other.m_sJobInfo.Code);
	}

	Job& operator = (const Job & Other) {
		if ( this->m_sJobInfo.Code == Other.m_sJobInfo.Code )
		{
			this->m_sJobInfo = Other.m_sJobInfo;
		}

		return *this;
	}
};

#endif 
